/**
 * @version 3.0.5
 * @Author lu-ch
 * @Email webwork.s@qq.com
 * 文档: https://www.quanzhan.co/luch-request/
 * github: https://github.com/lei-mu/luch-request
 * DCloud: http://ext.dcloud.net.cn/plugin?id=392
 * HBuilderX: beat-3.0.4 alpha-3.0.4
 */
import CONFIG from '@/common/config/index.js'
import tools from '@/utils/tools.ts'
import Request from '@/utils/luch-request/index.js'

const tool = new tools()
const getTokenStorage = () => {
	let token = ''
	try {
		token = uni.getStorageSync('token')
	} catch (e) {}
	return token
}
const http = new Request()//正常请求
// const httpa = new Request()//第二个服务请求
http.setConfig((config) => { /* 设置全局配置 */
	config.baseURL = CONFIG.BASE_URL /* 根域名不同 */
	config.header = {
		...config.header,
	}
	return config
})
// httpa.setConfig((config) => { /* 设置全局配置 */
// 	config.baseURL = CONFIG.BASE_URLa /* 根域名不同 */
// 	config.header = {
// 		...config.header,
// 	}
// 	return config
// })


http.interceptors.request.use((config) => { /* 请求之前拦截器。可以使用async await 做异步操作 */
	// console.log(config)
	if(config.custom.auth || config.custom.auth == undefined){
		config.header.token = getTokenStorage()
	}
	config.header = {
		...config.header
	}
	/*
 if (!token) { // 如果token不存在，return Promise.reject(config) 会取消本次请求
   return Promise.reject(config)
 }
 */
	return config
}, (config) => {
	return Promise.reject(config)
})
// httpa.interceptors.request.use((config) => { /* 请求之前拦截器。可以使用async await 做异步操作 */
// 	// console.log(config)
// 	if(config.custom.auth || config.custom.auth == undefined){
// 		config.header.token = getTokenStorage()
// 	}
// 	config.header = {
// 		...config.header
// 	}
// 	/*
//  if (!token) { // 如果token不存在，return Promise.reject(config) 会取消本次请求
//    return Promise.reject(config)
//  }
//  */
// 	return config
// }, (config) => {
// 	return Promise.reject(config)
// })
const DevelopmentLog = function(response) {
	return new Promise((resolve, reject) => {
		// console.log(`请求地址：${response.config.fullPath}`)
		// console.log(`请求参数：${JSON.stringify(response.config.params)}`)
		// console.log(`请求结果：${JSON.stringify(response.data)}`)
		resolve(true)
	})
}
http.interceptors.response.use(async (response) => { /* 请求之后拦截器。可以使用async await 做异步操作  */
	if (process.env.NODE_ENV === 'development') {
		await DevelopmentLog(response);
	}
	if(response.config.custom.verification && response.data.code == 500){
		tool.showToast(response.data.msg)
		return
	}
	if(response.data.code == 403){
		console.log(1)
		tool.toLoginagin()
		return
	}
	// if(response.data.code == 500){
	// 	return	Promise.reject(response.data)
	// }
	return response.data
}, (response) => { // 请求错误做点什么。可以使用async await 做异步操作
	// console.log(response)
	return Promise.reject(response.data)
})
// httpa.interceptors.response.use(async (response) => { /* 请求之后拦截器。可以使用async await 做异步操作  */
// 	if (process.env.NODE_ENV === 'development') {
// 		await DevelopmentLog(response);
// 	}
// 	if(response.config.custom.verification && response.data.code == 500){
// 		tool.showToast(response.data.msg)
// 		return
// 	}
// 	if(response.data.code == 403){
// 		console.log(1)
// 		tool.toLoginagin()
// 		return
// 	}
// 	// if(response.data.code == 500){
// 	// 	return	Promise.reject(response.data)
// 	// }
// 	return response.data
// }, (response) => { // 请求错误做点什么。可以使用async await 做异步操作
// 	// console.log(response)
// 	return Promise.reject(response.data)
// })

export {
	http,
	// httpa
}
